/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package jfs.beans;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Date;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.ValidatorException;

@ManagedBean
@RequestScoped

public class KontoBean {
    
    protected String login;    
    protected String email;
    protected String haslo;
    protected String imie;
    protected String nazwisko;
    protected String plec;
    protected String miasto;
    protected String kodPocztowy;
    protected String adres;

    /**
     * @return the login
     */
    public String getLogin() {
        return login;
    }
    
    /** poniższse pole służy do sprawdzania loginu i hasła
     * 
     */
    
    public String sprawdzLogin() {
    String sql="Select * from konto";
    String wynik = null;
    try {
            Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/biletydb", "root", "root");
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(sql);

            String user = getLogin().toString();
            String pwd = getHaslo().toString();
            int tmp = 0;
            while (rs.next()) {
                String logow = rs.getString("Login");
                String haslow = rs.getString("Haslo");
                String typp = rs.getString("Typ");
                if ((user.equals(logow)) && (pwd.equals(haslow))) {
                    if ("user".equals(typp)){
                    tmp++;    
                    }
                    
                    //wynik = "rejestracja";
                }
            }
         if(tmp==1){
             return wynik="StronaGlowna";
         }else{
             return wynik="index";
         }   
        }
    catch (Exception e){
        System.out.println("Eror!");
    }                       
    return wynik;
    }
    //koniec metody sprawdzajacej login i hasło
    
    
    /**
     * @param login the login to set
     */
    public void setLogin(String login) {
        this.login = login;
    }

    /**
     * @return the email
     */
    public String getEmail() {
        return email;
    }

    /**
     * @param email the email to set
     */
    public void setEmail(String email) {
        this.email = email;
    }

    /**
     * @return the haslo
     */
    public String getHaslo() {
        return haslo;
    }

    /**
     * @param haslo the haslo to set
     */
    public void setHaslo(String haslo) {
        this.haslo = haslo;
    }

    /**
     * @return the imie
     */
    public String getImie() {
        return imie;
    }

    /**
     * @param imie the imie to set
     */
    public void setImie(String imie) {
        this.imie = imie;
    }

    /**
     * @return the nazwisko
     */
    public String getNazwisko() {
        return nazwisko;
    }

    /**
     * @param nazwisko the nazwisko to set
     */
    public void setNazwisko(String nazwisko) {
        this.nazwisko = nazwisko;
    }

    /**
     * @return the plec
     */
    public String getPlec() {
        return plec;
    }

    /**
     * @param plec the plec to set
     */
    public void setPlec(String plec) {
        this.plec = plec;
    }

    /**
     * @return the miasto
     */
    public String getMiasto() {
        return miasto;
    }

    /**
     * @param miasto the miasto to set
     */
    public void setMiasto(String miasto) {
        this.miasto = miasto;
    }

    /**
     * @return the kodPocztowy
     */
    public String getKodPocztowy() {
        return kodPocztowy;
    }

    /**
     * @param kodPocztowy the kodPocztowy to set
     */
    public void setKodPocztowy(String kodPocztowy) {
        this.kodPocztowy = kodPocztowy;
    }

    /**
     * @return the adres
     */
    public String getAdres() {
        return adres;
    }

    /**
     * @param adres the adres to set
     */
    public void setAdres(String adres) {
        this.adres = adres;
    }
    
    public void validateEmail(FacesContext context, UIComponent toValidate, Object value) throws ValidatorException {
        String emailStr = (String) value;
        if (-1 == emailStr.indexOf("@")) {
            FacesMessage message = new FacesMessage("Niewłaściwy adres");
            throw new ValidatorException(message);
        }    
    }
    
    public String addConfirmedUser() {
        String outcome = null;
        FacesMessage doneMessage = null;
        Konto kon = new Konto();
        KontoDAO kdao = new KontoDAO();
        kon.setLogin(login);
        kon.setEmail(email);
        kon.setHaslo(haslo);
        kon.setImie(imie);
        kon.setNazwisko(nazwisko);
        kon.setPlec(plec);
        kon.setMiasto(miasto);
        kon.setKodPocztowy(kodPocztowy);
        kon.setAdres(adres);
        if (kdao.insertData(kon)) {
            doneMessage = new FacesMessage("Utworzono konto");
            outcome = "done";
        }
        else {
            doneMessage = new FacesMessage("Niepowodzenie");
            outcome = "register";
        }
        FacesContext.getCurrentInstance().addMessage(null, doneMessage);
        return outcome;              

    }
    public KontoBean() {
    }
    
    
}



